package com.xzz.number;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * @author: hhz
 * @create: 2022-02-10 11:08
 * 1447. 最简分数
 * 给你一个整数 n ，请你返回所有 0 到 1 之间（不包括 0 和 1）满足分母小于等于  n 的 最简 分数 。分数可以以 任意 顺序返回。
 **/
public class SimplifiedFractions {
    public static void main(String[] args) {
//        System.out.println(simplifiedFractions(2));
        System.out.println(simplifiedFractions(3));
//        System.out.println(gcd(4,2));
    }

    public static List<String> simplifiedFractions(int n) {
        List<String> res = new ArrayList<>();
        for (int i = 1; i < n; i++) {
            for (int j = i + 1; j <= n; j++) {
                if (gcd(i, j) == 1) {
                    res.add(i + "/" + j);
                }
            }
        }
        return res;
    }
    public static int gcd(int a, int b) { // 欧几里得算法
        return b == 0 ? a : gcd(b, a % b);
    }
}
